package com.learn.project2.service.admin.topic;


import com.learn.project2.model.bo.admin.topic.TopicCreateBO;
import com.learn.project2.model.bo.admin.topic.TopicUpdateBVO;
import com.learn.project2.model.vo.admin.topic.TopicCreateVO;
import com.learn.project2.model.vo.admin.topic.TopicListVO;
import com.learn.project2.model.vo.admin.topic.TopicReadVO;
import com.learn.project2.utils.BaseParam;
/**
 * @description:
 * @author zhizhuke
 * @date 2022-01-08 08-46
 * @version 1.0
 */
public interface TopicService {
    /**
     * @description:
     * @author zhizhuke
     * @date 2022-01-08 08-47 
     * @version 1.0
     */
    TopicListVO list(BaseParam param, String title, String subtitle);

    /**
     * @description:
     * @author zhizhuke
     * @date 2022-01-08 08-47 
     * @version 1.0
     */
    TopicCreateVO create(TopicCreateBO topicCreateBO);


    /**
     * @description:
     * @author zhizhuke
     * @date 2022-01-08 08-47 
     * @version 1.0
     */
    TopicReadVO read(Integer id);

    /**
     * @description:
     * @author zhizhuke
     * @date 2022-01-08 08-47 
     * @version 1.0
     */
    TopicUpdateBVO update(TopicUpdateBVO topicUpdateBVO);

    /**
     * @description:
     * @author zhizhuke
     * @date 2022-01-08 08-47 
     * @version 1.0
     */
    void delete(TopicUpdateBVO topicUpdateBVO);
}
